﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DevExpress.Web.ASPxGridView;
using DevExpress.WebUtils;
using SGT_ON;
using System.Web.Security;

public partial class ejecucion_tareas : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    private ONEmpleado EmpleadoActivo
    {
        get
        {
            return ONEmpleado.ObtenerEmpleadoPorUsuarioID(HttpContext.Current.User.Identity.Name);
        }
    }
    protected void dsTareasLineaDeTiempo_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        //tengo que traer y asignar el usuario activo para la búsqueda
        int _empleado_activo_id = -1;
        if((EmpleadoActivo != null)
            && (EmpleadoActivo.ID > 0))
            _empleado_activo_id = EmpleadoActivo.ID;
        e.InputParameters["pEmpleadoId"] = _empleado_activo_id;

        if (!IsPostBack)
        {
            //e.Cancel = true;//si es la primera vez que entro, no dejo que filtre
        }
    }
        
    protected void btnIniciar_Click(object sender, EventArgs e)
    {
        int _tareaId = int.Parse(((DevExpress.Web.ASPxEditors.ASPxButton)sender).CommandArgument);

        ONTareaLineaDeTiempo _tareaLT = ONTareaLineaDeTiempo.CrearTareaLineaDeTiempo(_tareaId);
        _tareaLT.IniciarTarea(DateTime.Now); //se almacena todo automaticamente
        gvTareas.DataBind();

    }
    protected void btnPausar_Click(object sender, EventArgs e)
    {
        int _tareaId = int.Parse(((DevExpress.Web.ASPxEditors.ASPxButton)sender).CommandArgument);
        int _visibleIndex = gvTareas.FindVisibleIndexByKeyValue(_tareaId);

        ONTareaLineaDeTiempo _tareaLT = ONTareaLineaDeTiempo.CrearTareaLineaDeTiempo(_tareaId);

        string _motivo = ((DevExpress.Web.ASPxEditors.ASPxComboBox)gvTareas.FindRowCellTemplateControl(_visibleIndex, null, "ddlMotivos")).Text;

        _tareaLT.PausarTarea(_motivo, DateTime.Now); //se almacena todo automaticamente

        gvTareas.DataBind();
    }
    protected void btnFinalizar_Click(object sender, EventArgs e)
    {
        int _tareaId = int.Parse(((DevExpress.Web.ASPxEditors.ASPxButton)sender).CommandArgument);
        int _visibleIndex = gvTareas.FindVisibleIndexByKeyValue(_tareaId);

        ONTareaLineaDeTiempo _tareaLT = ONTareaLineaDeTiempo.CrearTareaLineaDeTiempo(_tareaId);

        _tareaLT.FinalizarTarea("Finalización de tarea", DateTime.Now); //se almacena todo automaticamente

        gvTareas.DataBind();
    }
    protected void btnCerrar_Click(object sender, EventArgs e)
    {
        Response.Redirect("EjecucionTareas.aspx");
    }
}